[INFO] fetching crate lapce-xi-rope 0.3.2...
[INFO] checking lapce-xi-rope-0.3.2 against master#82310651b93a594a3fd69015e1562186a080d94c for pr-145770
[INFO] extracting crate lapce-xi-rope 0.3.2 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate lapce-xi-rope 0.3.2
[INFO] finished tweaking crates.io crate lapce-xi-rope 0.3.2
[INFO] tweaked toml for crates.io crate lapce-xi-rope 0.3.2 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate lapce-xi-rope 0.3.2 on toolchain 82310651b93a594a3fd69015e1562186a080d94c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate lapce-xi-rope 0.3.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_test v1.0.163
[INFO] [stderr]   Downloaded bytecount v0.6.3
[INFO] [stderr]   Downloaded quote v1.0.27
[INFO] [stderr]   Downloaded regex v1.8.1
[INFO] [stderr]   Downloaded syn v2.0.16
[INFO] [stderr]   Downloaded regex-syntax v0.7.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e94cc1ee75ad7970214814ff66adeaf0e0965203ed690614a25490bc32391a03
[INFO] running `Command { std: "docker" "start" "-a" "e94cc1ee75ad7970214814ff66adeaf0e0965203ed690614a25490bc32391a03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e94cc1ee75ad7970214814ff66adeaf0e0965203ed690614a25490bc32391a03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e94cc1ee75ad7970214814ff66adeaf0e0965203ed690614a25490bc32391a03", kill_on_drop: false }`
[INFO] [stdout] e94cc1ee75ad7970214814ff66adeaf0e0965203ed690614a25490bc32391a03
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 60036ad9ba91fd58d0c90efad34c8c8fbe680c186140acf6666eb256d2f34440
[INFO] running `Command { std: "docker" "start" "-a" "60036ad9ba91fd58d0c90efad34c8c8fbe680c186140acf6666eb256d2f34440", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling serde v1.0.163
[INFO] [stderr]     Checking regex-syntax v0.7.1
[INFO] [stderr]    Compiling serde_test v1.0.163
[INFO] [stderr]    Compiling serde_json v1.0.96
[INFO] [stderr]     Checking unicode-segmentation v1.10.1
[INFO] [stderr]     Checking ryu v1.0.13
[INFO] [stderr]     Checking itoa v1.0.6
[INFO] [stderr]     Checking bytecount v0.6.3
[INFO] [stderr]     Checking aho-corasick v1.0.1
[INFO] [stderr]     Checking regex v1.8.1
[INFO] [stderr]     Checking lapce-xi-rope v0.3.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/multiset.rs:120:35
[INFO] [stdout]     |
[INFO] [stdout] 120 |             CountMatcher::Zero => (seg.count == 0),
[INFO] [stdout]     |                                   ^              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 120 -             CountMatcher::Zero => (seg.count == 0),
[INFO] [stdout] 120 +             CountMatcher::Zero => seg.count == 0,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/multiset.rs:121:38
[INFO] [stdout]     |
[INFO] [stdout] 121 |             CountMatcher::NonZero => (seg.count != 0),
[INFO] [stdout]     |                                      ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -             CountMatcher::NonZero => (seg.count != 0),
[INFO] [stdout] 121 +             CountMatcher::NonZero => seg.count != 0,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/tree.rs:290:45
[INFO] [stdout]     |
[INFO] [stdout] 290 |             NodeVal::Internal(ref nodes) => (nodes.len() >= MIN_CHILDREN),
[INFO] [stdout]     |                                             ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 290 -             NodeVal::Internal(ref nodes) => (nodes.len() >= MIN_CHILDREN),
[INFO] [stdout] 290 +             NodeVal::Internal(ref nodes) => nodes.len() >= MIN_CHILDREN,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/rope.rs:226:24
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct LinesMetric(usize); // number of lines
[INFO] [stdout]     |            ----------- ^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `LinesMetric` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/rope.rs:275:33
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct Utf16CodeUnitsMetric(usize);
[INFO] [stdout]     |            -------------------- ^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `Utf16CodeUnitsMetric` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/delta.rs:334:25
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn iter_inserts(&self) -> InsertsIter<N> {
[INFO] [stdout]     |                         ^^^^^     -------------- the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn iter_inserts(&self) -> InsertsIter<'_, N> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/delta.rs:339:27
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn iter_deletions(&self) -> DeletionsIter<N> {
[INFO] [stdout]     |                           ^^^^^     ---------------- the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn iter_deletions(&self) -> DeletionsIter<'_, N> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/engine.rs:248:37
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn deletes_from_union_for_index(&self, rev_index: usize) -> Cow<Subset> {
[INFO] [stdout]     |                                     ^^^^^                       ----------- the same lifetime is hidden here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn deletes_from_union_for_index(&self, rev_index: usize) -> Cow<'_, Subset> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/engine.rs:254:40
[INFO] [stdout]     |
[INFO] [stdout] 254 |     fn deletes_from_union_before_index(&self, rev_index: usize, invert_undos: bool) -> Cow<Subset> {
[INFO] [stdout]     |                                        ^^^^^ the lifetime is elided here               ----------- the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |     fn deletes_from_union_before_index(&self, rev_index: usize, invert_undos: bool) -> Cow<'_, Subset> {
[INFO] [stdout]     |                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/engine.rs:294:41
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn deletes_from_cur_union_for_index(&self, rev_index: usize) -> Cow<Subset> {
[INFO] [stdout]     |                                         ^^^^^                       ----------- the same lifetime is hidden here
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn deletes_from_cur_union_for_index(&self, rev_index: usize) -> Cow<'_, Subset> {
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/multiset.rs:291:23
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn range_iter(&self, matcher: CountMatcher) -> RangeIter {
[INFO] [stdout]     |                       ^^^^^                            --------- the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn range_iter(&self, matcher: CountMatcher) -> RangeIter<'_> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/multiset.rs:297:28
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn complement_iter(&self) -> RangeIter {
[INFO] [stdout]     |                            ^^^^^     --------- the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn complement_iter(&self) -> RangeIter<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/multiset.rs:334:19
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn mapper(&self, matcher: CountMatcher) -> Mapper {
[INFO] [stdout]     |                   ^^^^^                            ------ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn mapper(&self, matcher: CountMatcher) -> Mapper<'_> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rope.rs:501:43
[INFO] [stdout]     |
[INFO] [stdout] 501 |     pub fn iter_chunks<T: IntervalBounds>(&self, range: T) -> ChunkIter {
[INFO] [stdout]     |                                           ^^^^^               --------- the same lifetime is hidden here
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 501 |     pub fn iter_chunks<T: IntervalBounds>(&self, range: T) -> ChunkIter<'_> {
[INFO] [stdout]     |                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rope.rs:512:41
[INFO] [stdout]     |
[INFO] [stdout] 512 |     pub fn lines_raw<T: IntervalBounds>(&self, range: T) -> LinesRaw {
[INFO] [stdout]     |                                         ^^^^^               -------- the same lifetime is hidden here
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 512 |     pub fn lines_raw<T: IntervalBounds>(&self, range: T) -> LinesRaw<'_> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rope.rs:526:37
[INFO] [stdout]     |
[INFO] [stdout] 526 |     pub fn lines<T: IntervalBounds>(&self, range: T) -> Lines {
[INFO] [stdout]     |                                     ^^^^^               ----- the same lifetime is hidden here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 526 |     pub fn lines<T: IntervalBounds>(&self, range: T) -> Lines<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rope.rs:537:44
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn slice_to_cow<T: IntervalBounds>(&self, range: T) -> Cow<str> {
[INFO] [stdout]     |                                            ^^^^^               -------- the same lifetime is hidden here
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn slice_to_cow<T: IntervalBounds>(&self, range: T) -> Cow<'_, str> {
[INFO] [stdout]     |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/spans.rs:292:17
[INFO] [stdout]     |
[INFO] [stdout] 292 |     pub fn iter(&self) -> SpanIter<T> {
[INFO] [stdout]     |                 ^^^^^     ----------- the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 292 |     pub fn iter(&self) -> SpanIter<'_, T> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/spans.rs:296:43
[INFO] [stdout]     |
[INFO] [stdout] 296 |     pub fn iter_chunks<I: IntervalBounds>(&self, range: I) -> SpanIter<T> {
[INFO] [stdout]     |                                           ^^^^^               ----------- the same lifetime is hidden here
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 296 |     pub fn iter_chunks<I: IntervalBounds>(&self, range: I) -> SpanIter<'_, T> {
[INFO] [stdout]     |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `xi_rope`
[INFO] [stdout]   --> examples/ropetoy.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | extern crate xi_rope;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lapce-xi-rope` (example "ropetoy") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0463]: can't find crate for `xi_rope`
[INFO] [stdout]   --> benches/diff.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | extern crate xi_rope;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `xi_rope`
[INFO] [stdout]   --> benches/edit.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | extern crate xi_rope;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `benches/../../core-lib/src/editor.rs`: No such file or directory (os error 2)
[INFO] [stdout]   --> benches/diff.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 | static EDITOR_STR: &str = include_str!("../../core-lib/src/editor.rs");
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `benches/../../core-lib/src/view.rs`: No such file or directory (os error 2)
[INFO] [stdout]   --> benches/diff.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 | static VIEW_STR: &str = include_str!("../../core-lib/src/view.rs");
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `xi_rope`
[INFO] [stdout]   --> benches/cursors.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | extern crate xi_rope;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lapce-xi-rope` (bench "diff") due to 3 previous errors
[INFO] [stderr] error: could not compile `lapce-xi-rope` (bench "edit") due to 1 previous error
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Cursor`
[INFO] [stdout]   --> benches/cursors.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut cursor = Cursor::new(&text, 0);
[INFO] [stdout]    |                      ^^^^^^ use of undeclared type `Cursor`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout] 19 + use std::collections::btree_map::Cursor;
[INFO] [stdout]    |
[INFO] [stdout] 19 + use std::collections::btree_set::Cursor;
[INFO] [stdout]    |
[INFO] [stdout] 19 + use std::collections::linked_list::Cursor;
[INFO] [stdout]    |
[INFO] [stdout] 19 + use std::io::Cursor;
[INFO] [stdout]    |
[INFO] [stdout]    = and 1 other candidate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0433, E0463.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lapce-xi-rope` (bench "cursors") due to 2 previous errors
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/multiset.rs:120:35
[INFO] [stdout]     |
[INFO] [stdout] 120 |             CountMatcher::Zero => (seg.count == 0),
[INFO] [stdout]     |                                   ^              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 120 -             CountMatcher::Zero => (seg.count == 0),
[INFO] [stdout] 120 +             CountMatcher::Zero => seg.count == 0,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/multiset.rs:121:38
[INFO] [stdout]     |
[INFO] [stdout] 121 |             CountMatcher::NonZero => (seg.count != 0),
[INFO] [stdout]     |                                      ^              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -             CountMatcher::NonZero => (seg.count != 0),
[INFO] [stdout] 121 +             CountMatcher::NonZero => seg.count != 0,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/tree.rs:290:45
[INFO] [stdout]     |
[INFO] [stdout] 290 |             NodeVal::Internal(ref nodes) => (nodes.len() >= MIN_CHILDREN),
[INFO] [stdout]     |                                             ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 290 -             NodeVal::Internal(ref nodes) => (nodes.len() >= MIN_CHILDREN),
[INFO] [stdout] 290 +             NodeVal::Internal(ref nodes) => nodes.len() >= MIN_CHILDREN,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/rope.rs:226:24
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub struct LinesMetric(usize); // number of lines
[INFO] [stdout]     |            ----------- ^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `LinesMetric` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/rope.rs:275:33
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct Utf16CodeUnitsMetric(usize);
[INFO] [stdout]     |            -------------------- ^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `Utf16CodeUnitsMetric` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/delta.rs:334:25
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn iter_inserts(&self) -> InsertsIter<N> {
[INFO] [stdout]     |                         ^^^^^     -------------- the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn iter_inserts(&self) -> InsertsIter<'_, N> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/delta.rs:339:27
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn iter_deletions(&self) -> DeletionsIter<N> {
[INFO] [stdout]     |                           ^^^^^     ---------------- the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 339 |     pub fn iter_deletions(&self) -> DeletionsIter<'_, N> {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/engine.rs:248:37
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn deletes_from_union_for_index(&self, rev_index: usize) -> Cow<Subset> {
[INFO] [stdout]     |                                     ^^^^^                       ----------- the same lifetime is hidden here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 248 |     fn deletes_from_union_for_index(&self, rev_index: usize) -> Cow<'_, Subset> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/engine.rs:254:40
[INFO] [stdout]     |
[INFO] [stdout] 254 |     fn deletes_from_union_before_index(&self, rev_index: usize, invert_undos: bool) -> Cow<Subset> {
[INFO] [stdout]     |                                        ^^^^^ the lifetime is elided here               ----------- the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 254 |     fn deletes_from_union_before_index(&self, rev_index: usize, invert_undos: bool) -> Cow<'_, Subset> {
[INFO] [stdout]     |                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/engine.rs:294:41
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn deletes_from_cur_union_for_index(&self, rev_index: usize) -> Cow<Subset> {
[INFO] [stdout]     |                                         ^^^^^                       ----------- the same lifetime is hidden here
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     fn deletes_from_cur_union_for_index(&self, rev_index: usize) -> Cow<'_, Subset> {
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/multiset.rs:291:23
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn range_iter(&self, matcher: CountMatcher) -> RangeIter {
[INFO] [stdout]     |                       ^^^^^                            --------- the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn range_iter(&self, matcher: CountMatcher) -> RangeIter<'_> {
[INFO] [stdout]     |                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/multiset.rs:297:28
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn complement_iter(&self) -> RangeIter {
[INFO] [stdout]     |                            ^^^^^     --------- the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn complement_iter(&self) -> RangeIter<'_> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/multiset.rs:334:19
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn mapper(&self, matcher: CountMatcher) -> Mapper {
[INFO] [stdout]     |                   ^^^^^                            ------ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 334 |     pub fn mapper(&self, matcher: CountMatcher) -> Mapper<'_> {
[INFO] [stdout]     |                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rope.rs:501:43
[INFO] [stdout]     |
[INFO] [stdout] 501 |     pub fn iter_chunks<T: IntervalBounds>(&self, range: T) -> ChunkIter {
[INFO] [stdout]     |                                           ^^^^^               --------- the same lifetime is hidden here
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 501 |     pub fn iter_chunks<T: IntervalBounds>(&self, range: T) -> ChunkIter<'_> {
[INFO] [stdout]     |                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rope.rs:512:41
[INFO] [stdout]     |
[INFO] [stdout] 512 |     pub fn lines_raw<T: IntervalBounds>(&self, range: T) -> LinesRaw {
[INFO] [stdout]     |                                         ^^^^^               -------- the same lifetime is hidden here
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 512 |     pub fn lines_raw<T: IntervalBounds>(&self, range: T) -> LinesRaw<'_> {
[INFO] [stdout]     |                                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rope.rs:526:37
[INFO] [stdout]     |
[INFO] [stdout] 526 |     pub fn lines<T: IntervalBounds>(&self, range: T) -> Lines {
[INFO] [stdout]     |                                     ^^^^^               ----- the same lifetime is hidden here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 526 |     pub fn lines<T: IntervalBounds>(&self, range: T) -> Lines<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/rope.rs:537:44
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn slice_to_cow<T: IntervalBounds>(&self, range: T) -> Cow<str> {
[INFO] [stdout]     |                                            ^^^^^               -------- the same lifetime is hidden here
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 537 |     pub fn slice_to_cow<T: IntervalBounds>(&self, range: T) -> Cow<'_, str> {
[INFO] [stdout]     |                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/spans.rs:292:17
[INFO] [stdout]     |
[INFO] [stdout] 292 |     pub fn iter(&self) -> SpanIter<T> {
[INFO] [stdout]     |                 ^^^^^     ----------- the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 292 |     pub fn iter(&self) -> SpanIter<'_, T> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/spans.rs:296:43
[INFO] [stdout]     |
[INFO] [stdout] 296 |     pub fn iter_chunks<I: IntervalBounds>(&self, range: I) -> SpanIter<T> {
[INFO] [stdout]     |                                           ^^^^^               ----------- the same lifetime is hidden here
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 296 |     pub fn iter_chunks<I: IntervalBounds>(&self, range: I) -> SpanIter<'_, T> {
[INFO] [stdout]     |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "60036ad9ba91fd58d0c90efad34c8c8fbe680c186140acf6666eb256d2f34440", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "60036ad9ba91fd58d0c90efad34c8c8fbe680c186140acf6666eb256d2f34440", kill_on_drop: false }`
[INFO] [stdout] 60036ad9ba91fd58d0c90efad34c8c8fbe680c186140acf6666eb256d2f34440
